package com.hkts.management.feign;

import com.hkts.management.common.utils.Result;
import com.hkts.management.common.vo.UserBasicInfoVo;
import com.hkts.management.model.TO.HontUserTo;
import com.hkts.management.model.VO.UserVo;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * @ClassNameFeignInterface
 * @Description
 * @Author yck
 * @Date2020-12-07 10:58
 * @Version V1.0
 **/
@FeignClient(value="management-authentication",configuration = FeignHeadersInterceptor.class)
public interface FeignInterface {
    @GetMapping("/authentication/remoteUserInfo")
    public HontUserTo remoteUserInfo();
    @GetMapping("/authentication/remoteUserBasicInfo")
    public Result<UserBasicInfoVo> remoteUserBasicInfo();
    @GetMapping("/authentication/getUserByuserId/{userId}")
    public Result<UserVo> getUserByuserId(@PathVariable String userId);
    @GetMapping("/authentication/getUsersByuserIds")
    public Result<Map<String, Object>> getUsersByuserIds (@RequestParam("userIds") List<String> userIds);
    @GetMapping("/authentication/getUserBasicInfoVoByMobile/{phone}")
    public Result<UserBasicInfoVo> getUserBasicInfoVoByMobile(@PathVariable String phone);
    @GetMapping("/authentication/getUserByNickName/{nickName}")
    public Result<List<UserBasicInfoVo>> getUserByNickName(@PathVariable String nickName);

}
